import axios from 'axios'

/** 创建axios实例 */
const service = axios.create({
  baseURL: process.env.BASE_URL,
  timeout: 5000,
  withCredentials: true // 允许跨域携带资源凭证
})

/** request拦截器 */
service.interceptors.request.use(config => {
  return config
})

/** response拦截器 */
service.interceptors.response.use(response => {
  // 成功：默认认为所有HTTP状态码以2开头
  if (response.status === 200) {
    return response.data
  }
}, reason => {
  // 失败：从服务获取到结果，只不过状态码不是2xx；压根就没有从服务器获取到数据；
  if (reason.response) {
    // 获取到数据了：根据不同的状态码做不同的处理即可
  } else {
    // 没有获取任何的数据
    if (!window.navigator.onLine) {
      // 断网
    }
  }
  return Promise.reject(reason)
})

export default service
